﻿#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QtCore>
#include "login.h"
#include<QtDebug>
#include<QIODevice>
#include<QFile>
#include<ActiveQt/QAxObject>

MainWindow::MainWindow(QWidget* parent)
	: QMainWindow(parent)
	, ui(new Ui::MainWindow)
{
	ui->setupUi(this);
    this->setWindowTitle("广州纽脉电器网关配置");
	this->setFixedSize(1240, 800);

	//实例化窗口
    tcpassistant = new TcpAssistant(this);                  //tcp 服务器助手ui
    tcpserverassistant = new TcpServerAssistant(this);      //tcp 客户端助手ui
    udpassistant = new UdpAssistant(this);                  //udp 助手ui
    uiparameterize = new uiParameterize(this);              //配置参数 ui

    ui->stackedWidget->addWidget(tcpserverassistant);       //增加界面到控件中
    ui->stackedWidget->addWidget(tcpassistant);             //增加界面到控件中
    ui->stackedWidget->addWidget(udpassistant);             //增加界面到控件中
    ui->stackedWidget->addWidget(uiparameterize);           //增加界面到控件中

    qDebug() << "页面索引总数: " << ui->stackedWidget->count();

    //新建定时器
    QTimer* timer = new QTimer(this);
    //关联定时器计满信号和相应的槽函数
    connect(timer, SIGNAL(timeout()), SLOT(timerUpDate()));
    //定时器开始计时，其中1000表示1000ms即1秒
    timer->start(1000);

    mainSetCurrentWidget(0);//显示tcp服务器ui

}

MainWindow::~MainWindow()
{
	delete ui;
}

void MainWindow::timerUpDate()
{

	//获取系统现在的时间
	QDateTime time = QDateTime::currentDateTime();

	QString str = time.toString("yyyy-MM-dd");//"yyyy-MM-dd hh:mm:ss dddd"
	QString str1 = time.toString("hh:mm:ss dddd");

	//设置系统时间显示格式
	ui->label->setText(str);
	ui->label_2->setText(str1);
	//在标签上显示时间
}


/* 设置界面切换 */
void MainWindow::mainSetCurrentWidget(uint8_t index){

    switch (index) {
        case 0  :
           ui->stackedWidget->setCurrentWidget(tcpserverassistant); //tcp 服务器助手ui
           break; /* 可选的 */
        case 1  :
           ui->stackedWidget->setCurrentWidget(tcpassistant);       //tcp 客户端助手ui
           break; /* 可选的 */
        case 2 :
           ui->stackedWidget->setCurrentWidget(udpassistant);       //udp 助手ui
           break; /* 可选的 */
        case 3 :
           ui->stackedWidget->setCurrentWidget(uiparameterize);     //配置参数 ui
           break; /* 可选的 */

        /* 您可以有任意数量的 case 语句 */
        default : /* 可选的 */
           ui->stackedWidget->setCurrentWidget(tcpserverassistant);  //tcp 服务器助手ui
    }
     qDebug() << "页面索引总数: " << ui->stackedWidget->count();
}

/* 界面跳转 设备管理 */
void MainWindow::on_pushButton_device_clicked()
{
    mainSetCurrentWidget(0);
    QDateTime time = QDateTime::currentDateTime();
    QString mytime = time.toString("yyyy-MM-dd hh:mm:ss");//"yyyy-MM-dd hh:mm:ss dddd"
    QString pas;
    QFile file1("D:/mylog.txt");
    if (!file1.open(QIODevice::Append | QIODevice::Text))
    {
        qDebug()<<"数据库读取失败";
        return;
    }
    while (!file1.atEnd()) {
        pas = file1.readLine();
    }
    //qDebug()<<"密码修改前"<<pas;
    pas = "进入主页";
    QByteArray  strBytes = pas.toUtf8();					//转换为字节数组
    file1.write(strBytes, strBytes.length());				//写入文件
    pas = "\n" + mytime + "\n";
    QByteArray  strBytes1 = pas.toUtf8();					//转换为字节数组
    file1.write(strBytes1, strBytes1.length());				//写入文件
    //qDebug()<<"密码修改后"<<pas;
    file1.close();

}

//配置按钮
void MainWindow::on_pushButton_cfg_clicked()
{
    mainSetCurrentWidget(3);
}

